GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222, and GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____2222____11110000____11110000____11110000____RRRREEEEVVVV.
_p_i_x_e_l_s Specifies a pointer to the image data in memory.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
Texturing maps a portion of a specified texture image onto each graphical
primitive for which texturing is enabled. To enable and disable three-
dimensional texturing, call ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD redefines a contiguous subregion of an existing three-
dimensional texture image. The texels referenced by _p_i_x_e_l_s replace the
portion of the existing texture array with x indices _x_o_f_f_s_e_t and
xoffset + width - 1, inclusive, y indices _y_o_f_f_s_e_t and
yoffset + height - 1, inclusive, and z indices _z_o_f_f_s_e_t and
zoffset + depth - 1, inclusive. This region may not include any texels
outside the range of the texture array as it was originally specified.
It is not an error to specify a subtexture with zero width, height, or
depth but such a specification has no effect.
Normally ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD is synchronous: OpenGL executes a
ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD command in the order it is issued in the OpenGL command
stream. Calling ggggllllEEEEnnnnaaaabbbblllleeee with parameter GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX causes
subsequent ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD commands to be asynchronous as defined by the
SSSSGGGGIIIIXXXX____aaaassssyyyynnnncccc extension. An asynchronous ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD command samples
the OpenGL state vector at the point in the OpenGL command stream where
the command is issued, but the results of the command (e.g. availability
of texels for use in rasterization) do not happen until some unspecified
time in the future. In particular, the order of the asynchronous command
relative to other OpenGL commands issued later in the command stream is
undefined. An implementation may choose to execute asynchronous commands
in parallel with the normal command stream or at some convenient time in
the future.
Calling ggggllllDDDDiiiissssaaaabbbblllleeee with parameter GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX restores the
default synchronous behavior for subsequent ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD commands. It
does not affect any pending asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee commands, or wait for
their completion.
When an asynchronous ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD command is issued, it is associated
with the current value of GGGGLLLL____AAAASSSSYYYYNNNNCCCC____MMMMAAAARRRRKKKKEEEERRRR____SSSSGGGGIIIIXXXX as defined by the
SSSSGGGGIIIIXXXX____aaaassssyyyynnnncccc extension. A program can determine if an asynchronous
ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD command has completed by using the ggggllllFFFFiiiinnnniiiisssshhhhAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX or
ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD is available only if the GL version is 1.2 or greater.
Texturing has no effect in color index mode.
ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr modes affect texture images in exactly
the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
Formats GGGGLLLL____BBBBGGGGRRRR, and GGGGLLLL____BBBBGGGGRRRRAAAA and types GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222,
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____RRRREEEEVVVV, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222, and
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____2222____11110000____11110000____11110000____RRRREEEEVVVV are available only if the GL version is
1.2 or greater.
GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT is valid only if the EEEEXXXXTTTT____aaaabbbbggggrrrr extension is supported.
When the GGGGLLLL____AAAARRRRBBBB____iiiimmmmaaaaggggiiiinnnngggg extension is supported, the RGBA components
specified in _p_i_x_e_l_s may be processed by the imaging pipeline. See
ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD for specific details.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_a_r_g_e_t is not GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if the texture array has not been
defined by a previous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD operation.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than 0.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE may be generated if _l_e_v_e_l is greater than log _m_a_x, where
2
_m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if xoffset < -b,
(xoffset + width) > (w - b), yoffset < -b, or
(yoffset + height) > (h - b), or zoffset < -b, or
(zoffset + depth) > (d - b), where w is the GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____WWWWIIIIDDDDTTTTHHHH, h is the
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____HHHHEEEEIIIIGGGGHHHHTTTT, d is the GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____DDDDEEEEPPPPTTTTHHHH and b is the border width of
the texture image being modified. Note that w, h, and d include twice
the border width.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h, _h_e_i_g_h_t, or _d_e_p_t_h is less than 0.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _f_o_r_m_a_t is not an accepted format
constant.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is not a type constant.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP and _f_o_r_m_a_t is not
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDD is executed between
the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is one of
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____6666____5555, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____6666____5555____RRRREEEEVVVV and _f_o_r_m_a_t is not
GGGGLLLL____RRRRGGGGBBBB.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is one of
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____2222____11110000____11110000____11110000____RRRREEEEVVVV and _f_o_r_m_a_t
is not GGGGLLLL____RRRRGGGGBBBBAAAA, GGGGLLLL____BBBBGGGGRRRRAAAA or GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX is enabled
and the number of asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee commands that have been issued
but not queried (using ggggllllFFFFiiiinnnniiiisssshhhhAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX or ggggllllPPPPoooollllllllAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX) exceeds